`timescale 1ns / 1ps

////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer:
//
// Create Date:   19:49:03 11/11/2014
// Design Name:   Main
// Module Name:   D:/Libraries/Documents/Ingenieria en computacion/Arquitectura Computadoras/Xilin/uart-arquitectura-2014/MainSoloRx.v
// Project Name:  UART
// Target Device:  
// Tool versions:  
// Description: 
//
// Verilog Test Fixture created by ISE for module: Main
//
// Dependencies:
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
////////////////////////////////////////////////////////////////////////////////

module MainSoloRx;

	// Inputs
	reg clk;
	reg reset;
	reg rx;

	// Outputs
	wire [7:0] rx_out;
	wire tx;

	// Instantiate the Unit Under Test (UUT)
	Main uut (
		.clk(clk), 
		.reset(reset), 
		.rx(rx), 
		.rx_out(rx_out), 
		.tx(tx)
	);

	initial begin
		// Initialize Inputs
		clk = 0;
		reset = 1;
		rx = 1;

		// Wait 100 ns for global reset to finish
		#100;
      reset = 0;  
		#10400; //32 * 325 - es 32 xq si bien el el tick counter cuenta hasta 16
					//La simulacion hace el switch del clock cada 2, como se sincroniza por posedge
					//tienen que pasar 2 ciclos para que genere un tick un clico en alto y otro en bajo
		// Add stimulus here
		rx = 0; //bit Start
		#10400;			
		rx = 1; //b[0]		//Byte a transmitir 01010101
		#10400;
		rx = 0; //b[1]
		#10400;
		rx = 1; //b[2]
		#10400; 
		rx = 0; //b[3]
		#10400;
		rx = 1; //b[4]
		#10400;
		rx = 0; //b[5]
		#10400;
		rx = 1; //b[6]
		#10400;
		rx = 0; //b[7]
		#10400;
		rx = 1; // Bit de fin
		#10400;
		
	
	end

always begin
 #1; clk = ~clk;
 end
      
endmodule

